Informatica Cloud Data IntegrationのConnectionでIAM Roleを使えるケース・使えないケースを整理してみました。
はじめに
好物はインフラとフロントエンドのかじわらゆたかです。 Informatica Cloud Data IntegrationのConnectionでS3やRedshiftをConnectionという単位で用いることが可能ですが、設定する際にIAM Roleを使えたり、使えなかったりする点を整理してみました。
Connection(接続)とは
Informatica Cloud Data IntegrationのConnection では様々なリソースへの接続をConnection(接続)という単位で管理します。 AWSのリソースに接続したいと言った場合S3のバケットやRedshiftのデータベースごとにConnectionを作成していくことになります。
Amazon S3 V2 Connector
S3へのConnectionを作成する際に用いるConnectorが Amazon S3 V2 Connector
となります。
こちらはIAM Roleを使えます。 IAM Roleを使う場合はSecure Agentを導入しているEC2のRoleでアクセスすることになるので、EC2側にRoleの設定をしておく必要があります。
また、その際にはAccess Key Secret Key の欄は空欄で問題有りません。
Folder Pathにはバケット名から記載していく形になります。 そのため、作成するIAM RoleにはFolder Pathに書いたバケットにアクセスできる権限を付与しておく必要があります。
Amazon Redshift V2
こちらのConnectorの設定項目は以下となります。
ここで、設定項目の Access Key ID
Secret Access Key
の項目は必須項目となります。
またこの箇所はIAM Roleを用いるといったことができないので注意が必要です。
Amazon Redshift V2ではなぜIAM Roleを指定することができないのか?
こちらのConnectorの挙動なのですが、一度S3バケットにファイルを書き出して、その後Redshiftに取り込むと言った挙動をします。 S3バケットにファイルを一度書き出し、その後書き出したファイルをRedshiftに取り込むと言った挙動となっています。
そのため、IAM Roleではなく、Access Key ID
Secret Access Key
を用いた捜査を行っているものと思われます。
また、この際に書き出すバケットはマッピングを作成する際に指定することになります。
ですので、Amazon Redshift V2に登録するAccess Key ID
Secret Access Key
のPolicyは
マッピングで指定したバケットを対象として記載する必要があります。
結論
Informatica Cloud Data Integration のConnectionの設定でIAM UserやIAM Roleを使うときの注意点をまとめてみました。
- S3
Amazon S3 V2 Connector
: IAM Role の利用が可能。 - Redshift
Amazon Redshift V2
: IAM User(Access Key ID / Secret Access Key)の利用が必須